//
//  test_parse_nt.h
//  cobalt
//
//  Created by Nicolas Godbout on 2013-08-23.
//  Copyright (c) 2013 Nicolas Godbout. All rights reserved.
//

#ifndef __cobalt__test_parse_nt__
#define __cobalt__test_parse_nt__

#include "../cobalt/parse_nt.h"
#include "gtest/gtest.h"

#include <string>

namespace {
    
    // The fixture for testing class Foo.
    class RDFNodeTest : public ::testing::Test {
    protected:
        RDFNodeTest() {
            
        }
        
        virtual ~FooTest() {
            // You can do clean-up work that doesn't throw exceptions here.
        }
        
        // If the constructor and destructor are not enough for setting up
        // and cleaning up each test, you can define the following methods:
        
        virtual void SetUp() {
            // Code here will be called immediately after the constructor (right
            // before each test).
        }
        
        virtual void TearDown() {
            // Code here will be called immediately after each test (right
            // before the destructor).
        }
        
        // Objects declared here can be used by all tests in the test case for Foo.
    };
    
    // Tests that the Foo::Bar() method does Abc.
    TEST_F(FooTest, MethodBarDoesAbc) {
        const std::string input_filepath = "this/package/testdata/myinputfile.dat";
        const std::string output_filepath = "this/package/testdata/myoutputfile.dat";
        Foo f;
        EXPECT_EQ(0, f.Bar(input_filepath, output_filepath));
    }
    
    // Tests that Foo does Xyz.
    TEST_F(FooTest, DoesXyz) {
        // Exercises the Xyz feature of Foo.
    }
    
}  // namespace

#endif /* defined(__cobalt__test_parse_nt__) */
